package com.liinxin.flac_management;

import com.liinxin.flac_management.page.*;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class App extends Application {
    private Scene startScene;

    @Override
    public void start(Stage primaryStage) {
        // 创建三个按钮
        Button btn1 = new Button("FLAC歌曲添加标签");
        Button btn2 = new Button("Flac歌曲添加封面");
        Button btn3 = new Button("txt文本内容比对");
        Button btn4 = new Button("txt文本内容去重");
        Button btn5 = new Button("乱码转换");

        // 设置字体
        btn1.setFont(new Font("Arial", 20));
        btn2.setFont(new Font("Arial", 20));
        btn3.setFont(new Font("Arial", 20));
        btn4.setFont(new Font("Arial", 20));
        btn5.setFont(new Font("Arial", 20));

        // 创建一个VBox布局管理器作为根布局
        VBox root = new VBox(15);
        root.setAlignment(Pos.CENTER); // 设置居中对齐
        root.getChildren().addAll(btn1, btn2, btn3, btn4, btn5);

        // 创建一个场景
        Scene scene = new Scene(root, 500, 500);
        this.startScene = scene; // 保存启动页面的场景

        // 设置舞台
        primaryStage.setTitle("Flac文件管理");
        primaryStage.setScene(scene);
        primaryStage.show();

        // FLAC歌曲添加标签页面
        btn1.setOnAction(event -> {
            System.out.println("添加标签页面");

            EditLabelUI editLabelUI = new EditLabelUI(primaryStage, startScene);
            Scene editLabelUIScene = editLabelUI.getScene();
            primaryStage.setScene(editLabelUIScene);
        });

        // Flac歌曲添加封面
        btn2.setOnAction(event -> {
            System.out.println("添加封面");

            AddCoverUI addCoverUI = new AddCoverUI(primaryStage, startScene);
            Scene addCoverUIScene = addCoverUI.getScene();
            primaryStage.setScene(addCoverUIScene);
        });

        // txt文本内容比对
        btn3.setOnAction(event -> {
            System.out.println("文本内容比对");

            TextMatchUI textMatchUI = new TextMatchUI(primaryStage, startScene);
            Scene textMatchUIScene = textMatchUI.getScene();
            primaryStage.setScene(textMatchUIScene);
        });

        // txt文本内容去重
        btn4.setOnAction(event -> {
            System.out.println("txt文本内容去重");

            DuplicatesUI duplicatesUI = new DuplicatesUI(primaryStage, startScene);
            Scene duplicatesUIScene = duplicatesUI.getScene();
            primaryStage.setScene(duplicatesUIScene);
        });

        // 乱码转换
        btn5.setOnAction(event -> {
            System.out.println("乱码转换");

            EncodeChangeUI encodeChangeUI = new EncodeChangeUI(primaryStage, startScene);
            Scene encodeChangeUIScene = encodeChangeUI.getScene();
            primaryStage.setScene(encodeChangeUIScene);
        });
    }

    /**
     * 主方法
     *
     * @param args
     */
    public static void main(String[] args) {
        launch(args);
    }
}
